package cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.supplier;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - ERP 供应商新增/修改 Request VO")
@Data
public class ErpSupplierSaveReqVO {

    @Schema(description = "供应商编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "5384")
    private Long id;

    @Schema(description = "供应商企业全称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
    @NotEmpty(message = "供应商企业全称不能为空")
    private String name;

    @Schema(description = "社会信用代码", example = "123")
    private String complainCode;

    @Schema(description = "注册人姓名", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "注册人姓名不能为空")
    private String registryName;

    @Schema(description = "注册人电子邮箱", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "注册人电子邮箱不能为空")
    private String registryEmail;

    @Schema(description = "手机号码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "手机号码不能为空")
    private String mobile;

    @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "密码不能为空")
    private String password;

    @Schema(description = "企业类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotNull(message = "企业类型不能为空")
    private Integer type;

    @Schema(description = "纳税规模", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "纳税规模不能为空")
    private Integer taxScale;

    @Schema(description = "营业执照含三证合一", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "营业执照含三证合一不能为空")
    private String businessPic;

    @Schema(description = "法人姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
    @NotEmpty(message = "法人姓名不能为空")
    private String legalName;

    @Schema(description = "法人身份证", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "法人身份证不能为空")
    private String legalNo;

    @Schema(description = "食品经营许可证")
    private String foodPic;

    @Schema(description = "税盘照片")
    private String taxPlatePic;

    @Schema(description = "注册资本")
    private String registeredCapital;

    @Schema(description = "企业联系人", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "企业联系人不能为空")
    private String companyContact;

    @Schema(description = "企业联系人邮箱", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "企业联系人邮箱不能为空")
    private String companyEmail;

    @Schema(description = "企业联系电话", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "企业联系电话不能为空")
    private String companyTelephone;

    @Schema(description = "企业经营范围")
    private String companyScope;

    @Schema(description = "企业经营地址")
    private String companyAddress;

    @Schema(description = "审核状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "审核状态不能为空")
    private Integer status;

    @Schema(description = "开户银行", example = "张三")
    private String bankName;

    @Schema(description = "收款账号", example = "5506")
    private String bankAccount;

    @Schema(description = "开户地址")
    private String bankAddress;

}
